[t:/]$ 지식_

nginx 워커 클로징

2019/08/29

https://openresty-reference.readthedocs.io/en/latest/Directives/

아파치 모듈과 달리 엔진엑스 문서에는 워커 클로징 단계에서 명시적으로 호출 할 수 있는 후킹 엔트리가 없다..

1ns라도 아끼는 성능 성애자 입장에서는 몇몇 파일을 워커 초기화 단계에서 오픈 해 두고 fd를 재사용하길 원하는데 명시적인 클로징 후킹이 없으면 파일을 그저 프로세스 종료에서 알아서 해주길 기대할 수 밖에 없다. 윈도우는 모르겠지만 리눅스에서 파일을 안 닫아도, 심지어 free를 안 때려도 자원 해제야 오토매틱이긴 한데, 엔진엑스의 reload 기능이 걸린다. 엔진엑스는 USR 시그널에 의한 설정 리로드를 지원한다. 설정 리로드때 워커 초기화를 다시 한다면 닫지 않은 fd가 존재한다. 워커의 exit가 없었기 때문. 즉, 워커 초기화 할 때 1번만 파일을 오픈하는 구조라면 이미 열린 파일인지 체크할 필요가 있다. 여윽시 페북은 끄적거리다가 자문자답을 얻는 효과가 있구나.

하지만우리서버인프라규칙에서는설정리로드를허용하지않는다ㅎㅎㅎㅎ





공유하기













[t:/] is not "technology - root". dawnsea, rss